package cn.iocoder.yudao.module.promotion.controller.app.banner.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

@Schema(description = "用户 App - Banner Response VO")
@Data
public class AppBannerRespVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long id;

    @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "标题不能为空")
    private String title;

    @Schema(description = "类型(1:图片;2:内链;3:外链;4:富文本编辑)", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer type;

    @Schema(description = "跳转链接(内链;外链)", requiredMode = Schema.RequiredMode.REQUIRED)
    private String url;

    @Schema(description = "图片地址", requiredMode = Schema.RequiredMode.REQUIRED)
    private String picUrl;

    @Schema(description = "内容", requiredMode = Schema.RequiredMode.REQUIRED)
    private String content;

    @Schema(description = "位置(1:首页;2:秒杀活动页;3:砍价活动页;4:限时折扣页;5:满减送页;6:首页弹框;7:点餐页banner;8:排行榜介绍)", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer position;

    @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer sort;

    @Schema(description = "投放类型(1:总是显示;2:按日期显示)", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer putType;

    @Schema(description = "投放开始时间")
    private LocalDateTime putTimeStart;

    @Schema(description = "投放结束时间")
    private LocalDateTime putTimeEnd;

    @Schema(description = "店铺ID", example = "1")
    private Long storeId;

}
